package scau.hotel.hotel_service.service;

import scau.hotel.hotel_service.entity.CheckinCusInfor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import scau.hotel.hotel_model.controller.RespBean;

import java.util.List;

/**
 * (CheckinCusInfor)表服务接口
 *
 * @author makejava
 * @since 2022-03-28 20:15:16
 */
public interface CheckinCusInforService {

    /**
     * 通过ID查询单条数据
     *
     * @param checkinCusInforId 主键
     * @return 实例对象
     */
    CheckinCusInfor queryById(Integer checkinCusInforId);

    /**
     * 通过IDCard查询单条数据
     *
     * @param checkinCusIdCard 查询条件
     * @return 实例对象
     */
    CheckinCusInfor queryByIdCard(String checkinCusIdCard);

    /**
     * 通过Name查询单条数据
     *
     * @param checkinCusName 查询条件
     * @return 实例对象
     */
    List<CheckinCusInfor> queryByName(String checkinCusName);

    /**
     * 通过CheckinInforId查询单条数据
     *
     * @param CheckinInforId 查询条件
     * @return 实例对象
     */
    List<CheckinCusInfor> queryByCheckinInforId(Integer CheckinInforId);

    /**
     * 分页查询
     *
     * @param checkinCusInfor 筛选条件
     * @return 查询结果
     */
    List<CheckinCusInfor> queryAll(CheckinCusInfor checkinCusInfor);

    /**
     * 分页查询
     *
     * @param checkinCusInfor 筛选条件
     * @param pageRequest      分页对象
     * @return 查询结果
     */
    Page<CheckinCusInfor> queryByPage(CheckinCusInfor checkinCusInfor, PageRequest pageRequest);

    /**
     * 新增数据
     *
     * @param checkinCusInfor 实例对象
     * @return 实例对象
     */
    RespBean insert(CheckinCusInfor checkinCusInfor);

    /**
     * 修改数据
     *
     * @param checkinCusInfor 实例对象
     * @return 实例对象
     */
    RespBean update(CheckinCusInfor checkinCusInfor);

    /**
     * 通过主键删除数据
     *
     * @param checkinCusInforId 主键
     * @return 是否成功
     */
    boolean deleteById(Integer checkinCusInforId);

}
